# 文件解压缩
在 Linux 系统中,有许多解压缩工具可用,不同的工具支持不同的压缩格式。
# tar
tar (opens new window) 是最常用的归档和解压工具,通常与其他压缩工具(如 gzip、bzip2)结合使用。
- -x:从存档中提取文件。
- -c:创建新的存档。
- -v:详细列出已处理的文件。
- -f ARCHIVE:使用归档文件。
解压 .tar 文件。
tar -xvf file.tar
解压 .tar.gz 或 .tgz 文件。
tar -xvzf file.tar.gz
# pigz 多线程处理
tar --use-compress-program=pigz -xvf file.tar.gz
解压 .tar.bz2 文件。
tar -xvjf file.tar.bz2
解压 .tar.xz 文件。
tar -xvJf file.tar.xz
解压 .tar.Z 文件。
tar -xvZf file.tar.Z
打包 .tar 文件。
tar -cvf file.tar DirName
打包 .tar.gz 或 .tgz 文件。
tar -cvzf file.tar.gz DirName
# pigz 多线程处理
tar --use-compress-program=pigz -cvf file.tar.gz DirName
tar -cvf - DirName | pigz -p 8 > file.tar.gz
打包 .tar.bz2 文件。
tar -cvjf file.tar.bz2 DirName
打包 .tar.Z 文件。
tar -cvZf file.tar.Z DirName
# gzip
gzip 是一个常见的压缩工具,生成的文件通常以 .gz 结尾。
gzip 使用 LZ77 算法来减小指定文件的大小。
解压 .gz 文件。
gunzip file.gz
gzip -d file.gz
压缩 .gz 文件。
gzip file
# bzip2
bzip2 是另一种压缩工具,生成的文件通常以 .bz2 结尾。
bzip2 (opens new window) 使用 Burrows-Wheeler 块排序文本压缩算法和霍夫曼编码来压缩文件,与更传统的 LZ77 / LZ78 压缩器相比,压缩效果通常要好得多,并接近 PPM 系列统计压缩器的性能。
解压 .bz2 文件。
bunzip2 file.bz2
bzip2 -d file.bz2
压缩 .bz2 文件。
bzip2 -z file
# xz
xz 是一种高效的压缩工具,生成的文件通常以 .xz 结尾。
解压 .xz 文件。
unxz file.xz
xz -d file.xz
# zip
zip 和 unzip 是用于处理 .zip 文件的工具。
zip (opens new window) 是一个压缩和文件打包工具,它类似于 tar 和 compress 的组合。
- -r:递归遍历目录结构。
解压 .zip 文件。
unzip file.zip
压缩 .zip 文件。
zip -r file.zip DirName
调整压缩级别,如只打包不压缩。
zip -0 -r archive.zip DirName
# pigz
pigz (opens new window) 使用多线程进行压缩,以利用多处理器和多核。其输入数据被分成 128 KB 的块,每个块并行压缩,每个块的单独校验值也并行计算,压缩数据按顺序写入输出,并从各个块的校验值中计算出一个综合校验值。
- -p n:最多允许 n 个进程。
压缩 .gz 文件。
pigz FileName
解压 .gz 文件。
pigz -d FileName.tgz
# 7zip
7zip 是一种支持多种格式的压缩工具,生成的文件通常以 .7z 结尾。
7za (opens new window) 支持 7z、ZIP、CAB、ARJ、GZIP、BZIP2、TAR、CPIO、RPM 和 DEB 格式。
CentOS 7 安装。
yum install p7zip
解压 .7z 文件。
7za x archive.7z -r -o./
压缩 .7z 文件。
7za a -t7z -r archive.7z DirName
# compress
compress (opens new window) 使用自适应 Lempel-Ziv 编码来减小指定文件的大小。
CentOS 7 安装。
yum install ncompress
压缩。
compress FileName
解压。
uncompress FileName.Z